Systems and methods for processing and organizing electronic content

ABSTRACT

The present disclosure generally relates to processing and organizing electronic content. In accordance with one implementation, a computer-implemented method is provided that comprises receiving source data from at least one content server, the source data being associated with electronic content. The method also includes generating local data based on at least one of an analysis of the received source data or an extraction from the received source data. Additionally, the method includes classifying the electronic content as being associated with one or more content stacks. Further, the method includes generating representations of the electronic content based on the local data and generating instructions to display at least one content stack on a user interface, each displayed contact stack being operable to display one or more of the representations of the electronic content associated with the content stack based on the classification.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit of priority to U.S. ProvisionalApplication No. 61/715,290 filed on Oct. 18, 2012 and U.S. ProvisionalApplication No. and 61/794,993 filed Mar. 15, 2013, the entiredisclosure of which is expressly incorporated herein by reference in itsentirety.

BACKGROUND Technical Field

The present disclosure generally relates systems and methods forprocessing and organizing electronic content. In particular, and withoutlimitation, the present disclosure relates to computerized systems andmethods for processing and organizing electronic content, such ase-mail, in content stacks based on the classification of the electroniccontent. The content stacks may be electronically displayed or presentedto a user.

Background

Today, electronic content exists in many forms and for differentpurposes. In addition, users may view and analyze electronic contentthrough various forms of devices, including computers, laptops, mobilephones, smartphones, and personal digital assistants. For example,e-mail was originally designed for electronic communications, but today,e-mail is used for many other things (e.g., to-do lists, file archives,content consumption, contact management, and the like). These uses ofe-mail, coupled with the proliferation of other electronic content,including social networking messages, text messages, e-commerce, ande-mail marketing, have resulted in cluttered inboxes, missed e-mails ormessages, and lost productivity as users struggle to organize and managee-mail and other electronic content appropriately.

Various techniques have been proposed for organizing and presentingelectronic content. For example, some e-mail systems apply rules tocategorize and highlight e-mails. These rules may be used toautomatically move e-mail messages to a particular folder or highlightan urgent e-mail. Additionally, filters, foldering, labeling, andtagging have all been proposed in systems and applications that attemptto provide electronic content in an organized manner for users. However,many of these approaches require a high level of cognitive processingand/or significant manual intervention by users. In addition, some ofthese approaches generate unnecessary clutter or undecipherableinformation, making it difficult for users to efficiently view andanalyze electronic content.

Accordingly, there is a need for improved systems and methods forprocessing and organizing electronic content, including e-mail,electronic messages, and other forms of electronic content. Moreover,there is a need for improved solutions for organizing and managingelectronic content in a manner that is smart, dynamic, and visual, andaddresses the needs of users.

SUMMARY

Embodiments consistent with the present disclosure provide forprocessing and organizing of electronic content. Moreover, embodimentsconsistent with the present disclosure include computerized systems andmethods for providing for display of electronic content, such as e-mail,in content stacks based on the classification of the electronic content.

In accordance with some embodiments, a computer-implemented method isdisclosed for providing content stacks for electronic content. Themethod comprises receiving source data from at least one content server,the source data being associated with electronic content, and generatinglocal data based on at least one of an analysis of the received sourcedata or an extraction from the received source data. The method furthercomprises classifying the electronic content as being associated withone or more content stacks, generating representations of the electroniccontent based on the local data, and generating instructions to displayat least one content stack on a user interface, each displayed contactstack being operable to display one or more of the representations ofthe electronic content associated with the content stack based on theclassification.

In accordance with additional embodiments of the present disclosure, asystem is disclosed for providing content stacks for electronic content.The system comprises at least one processor and a storage device thatstores a set of instructions that, when executed by the at least oneprocessor, causes the at least one processor to receive source data fromat least one content server, the source data being associated withelectronic content, and generate local data based on at least one of ananalysis of the received source data or an extraction from the receivedsource data. The set of instructions further cause the at least oneprocessor to classify the electronic content as being associated withone or more content stacks, generate representations of the electroniccontent based on the local data, and generate instructions to display atleast one content stack on a user interface, each displayed contactstack being operable to display one or more of the representations ofthe electronic content associated with the content stack based on theclassification.

In accordance with still further embodiments of the present disclosure,a non-transitory computer-readable medium is provided for storing a setof instructions that, when executed by at least one processor, cause theat least one processor to receive source data from at least one contentserver, the source data being associated with electronic content, andgenerate local data based on at least one of an analysis of the receivedsource data or an extraction from the received source data. The set ofinstructions further cause the at least one processor to classify theelectronic content as being associated with one or more content stacks,generate representations of the electronic content based on the localdata, and generate instructions to display at least one content stack ona user interface, each displayed contact stack being operable to displayone or more of the representations of the electronic content associatedwith the content stack based on the classification.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate several embodiments of thepresent disclosure and, together with the description, serve to explainthe principles and features of the present disclosure.

FIG. 1 is a diagram of an exemplary computing environment within whichembodiments of the present disclosure may be practiced.

FIG. 2 is a flow chart of an exemplary method for organizing anddisplaying data associated with electronic content in at least onecontent stack, consistent with embodiments of the present disclosure.

FIG. 3 illustrates an exemplary user interface with content stacks forelectronic content, consistent with embodiments of the presentdisclosure.

FIG. 4 is a flow chart of an exemplary method for generating a contentstack or for modifying an existing content stack, consistent withembodiments of the present disclosure.

FIGS. 5A-5E illustrate exemplary dialogs that are created in connectionwith generating a new content stack or modifying an existing contentstack, consistent with embodiments of the present disclosure.

FIG. 6 illustrates an exemplary display of an attachment content stack,consistent with embodiments of the present disclosure.

FIG. 7 illustrates an exemplary computer system, consistent withembodiments of the present disclosure.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Reference will now be made in detail to embodiments of the presentdisclosure, examples of which are illustrated in the accompanyingdrawings. The discussion will use the same reference numbers included inthe drawings to refer to the same or like parts.

In this disclosure, the use of the singular includes the plural, unlessspecifically stated otherwise. Also, in this disclosure, the use of “or”means “and/or,” unless stated otherwise. Furthermore, the use of theterm “including,” as well as other forms such as “includes” and“included,” is not limiting. In addition, terms such as “element” or“component” encompass both elements and components comprising one unit,and elements and components that comprise more than one subunit, unlessspecifically stated otherwise. Additionally, the section headings usedherein are for organizational purposes only, and are not to be construedas limiting the subject matter described.

Embodiments of the present disclosure provide improved systems andmethods for processing and organizing electronic content. Consistentwith embodiments of the present disclosure, the electronic content maybe organized into one or more content stacks. As used herein, the term“electronic content” refers to any form of e-mail, electronic message,instant message, social media messages, text messages (e.g., SMSmessages), blog posts, alerts, news, notes, documents, web pages,content feeds, tweets, and the like. The term “content stack” refers toa collection of electronic content that may be visually represented orgraphically displayed on a user interface of an electronic device (suchas a computer, table, mobile phone, or smartphone). The term “tile”refers to a display item on a user interface. A “tile” may be square orof any other suitable shape. Exemplary embodiments of content stacks arepresented in this disclosure.

In accordance with embodiments of the present disclosure, content stacksmay be created for visually or graphically displaying representations ofelectronic content based on classification of the electronic content.The classifications may be based on predefined content stack rules ormay be based on content stack rules provided by a user, shared betweenusers, and/or created by a user. For example, a user may create acontent stack for all electronic content received from a particularsource or group of sources.

In accordance with some embodiments, a user may create a content stackfor all e-mail or electronic messages from a particular sender or groupof senders. In such embodiments, one or more representations of allelectronic messages from that sender or group of senders may bedisplayed in the content stack to the user. For example, arepresentative image of the content stack may be placed on the userinterface. Upon selection of any representation of a content stack, thecorresponding messages in that content stack may be opened. For example,the user may click on the representative image to access the messages inthe corresponding content stack. Moreover, in some embodiments,electronic content and their representations may not be displayed in atraditional inbox, and are only associated with and displayed within acontent stack to a user.

FIG. 1 illustrates an exemplary computing environment 100 within whichembodiments of the present disclosure may be practiced. In FIG. 1 , auser device 102, content server 120, and host server 130 areinterconnected via a communications network 110. Communications network110 may represent any form or medium of digital data communication.Examples of communication network 110 include a local area network(LAN), a wireless LAN, e.g., a “WiFi” network, a wireless MetropolitanArea Network (MAN) that connects multiple wireless LANs, a wide areanetwork (WAN), e.g., the Internet, and a dial-up connection (e.g., usinga V.90 protocol or a V.92 protocol). Further, the Internet may includeany publicly accessible network or networks interconnected via one ormore communication protocols, including, but not limited to, hypertexttransfer protocol (HTTP) and transmission control protocol/internetprotocol (TCP/IP). Moreover, communications network 110 may also includeone or more mobile device networks, such as a GSM network or a PCSnetwork, that allow devices, such as user device 102, to send andreceive data via applicable communication protocols, including thosedescribed above.

User device 102, content server 120, and host server 130 may representany type of computing system capable of performing communicationprotocol processing. An example of a computing system is describedherein with reference to FIG. 1 . Additional examples of computingsystems are described below with reference to FIG. 7 .

User devices, such as user device 102, may include a processor 104 and amemory 106. Processor 104 and memory 106 may be any type of CPU/GPU ormemory discussed above. Memory 106 may store client software 108 forexecution by processor 104. Client software 108 may include a browser,e-mail client, messaging client, application, or any other instructionsfor presenting content to a user. For example, client software 108 mayinclude a set of instructions used to provide user interfaces displayedby user device 102.

In accordance with the embodiments of the present disclosure, userdevice 102 may include, but is not limited to, a tablet, a personalcomputer, a laptop computer, a notebook computer, a handheld computer, apersonal digital assistant, a portable navigation device, a mobilephone, a smartphone, or any other computing device or system that isoperable to transmit and receive data across communications network 110.

Content servers, such as content server 120, may include a processor 122and a memory 124. Processor 122 and memory 124 may be any type ofCPU/GPU or memory discussed above. Memory 124 may store content software126 for execution by processor 122. Content software 126 may includee-mail software, instant messaging software, document managementsoftware, web-hosting software, or any other set of instructions thatmanages electronic content. Content server 120 may also include or beconnected to a database 128 that stores electronic content managed bycontent software 126. Electronic content stored in content server 120may be represented by source data stored in content server 120.

Host servers, such as host server 130, may include a processor 132 and amemory 134. Processor 132 and memory 134 may be any type of CPU/GPU ormemory discussed above. Memory 134 may store hosting software 136 and/orprocessing software 138 for execution by processor 132. Host server 130may be implemented using one or more technologies, such as JAVA shop,Apache/Tomcat, Bus Architecture (RabbitMQ), MongoDB, SOLR, GridFS,Jepetto, and the like. Hosting software 136 may include e-mail software,instant messaging software, document management software, web-hostingsoftware, and/or any other program or software or set of instructionsthat provides electronic content to a user. For example, hostingsoftware 136 may include a set of instructions to generate userinterfaces that are to be displayed to a user by user device 102. Insome embodiments, hosting software 136 may generate a plurality of tilesto be displayed on the user interfaces. A tile can be a content stacktile or a plugin tile. Hosting software 136 may also select or generaterepresentations of the content stacks and display them as the coverimages of the corresponding tiles. The tiles may be generated by defaultor by user. Hosting software 136 may also associate attributes to thetiles generated, which define the permitted user interactions. In someembodiments, hosting software 136 may also generate dialog interfacesthat are displayed to the user when a predefined action occurs. Thedialogs may be graphically presented on a user interface or display of auser device. For example, a dialog window may pop up to requestconfirmation when the user selects to delete a content stack. Hostserver 130 may also include or be connected to a database 140 thatstores at least a portion of the content provided by content server 120or generated by hosting software 136.

Processing software 138 may include software that processes electroniccontent for presentation to a user. For example, processing software 138may be, or be part of, a rich backend architecture that sits in front ofone or more remote systems or sources of electronic content, such ase-mail or messaging systems, news or blog sites, and social networkingplatforms or services. In one embodiment, processing software 138 is aprivate processing system or application that is hosted or locatedseparately from e-mail systems, such as aol.com, gmail.com, oryahoo.com. In an additional embodiment, processing software 138 is aprivate processing system or application that is hosted, integrated,and/or co-located with a public e-mail or messaging system, such asaol.com, google.com, or yahoo.com.

Processing software 138 may leverage remote systems to extractelectronic content and post messages using standard interfaces andprotocols, such as IMAP, SMTP, or OAuth. In one embodiment, host server130 does not own or control the user's content. Rather, the electroniccontent may exist at its rightful source of record, such as contentserver 120. However, processing software 138 may cache a limited subsetof information extracted from content of the electronic messages (e.g.,photos, attachments), metadata associated with electronic content, andmessage item skeletons. Processing software 138 may also reference thesource of record when necessary to retrieve the original content.Hosting software 136 may store metadata and other generated local datain database 140 for functional use. Local data is generated from thereceived content in such a way that information about the receivedcontent is provided in a simple visual manner. Aspects related togenerating local data are discussed in further detail below.

Processing software 138 may continuously synchronize with the source ofrecord, such as content server 120, to maintain an up-to-date imprint ofthe account. For example, processing software 138 may synchronize withcontent server 120 at a predetermined frequency, such as every fiveminutes, every half hour, or every hour.

FIG. 2 depicts a flow chart of an exemplary method 200 for organizingand displaying data associated with electronic content in at least onecontent stack, consistent with embodiments of the present disclosure.

In step 202, host server 130 receives electronic content (represented bysource data) from at least one content server 120. Content server 120may be implemented as any traditional source of data that provideselectronic content, such as IMAP/SMTP, Facebook™, LinkedIN™, Twitter™,etc. In some exemplary embodiments, the received electronic content maybe e-mail or electronic messages. In other exemplary embodiments, thereceived source data for the electronic content may include data such ascontact lists, RSS feeds, or instant messages from instant messagingapplications, etc.

This source data may be received in response to a request from hostserver 130 to content server 120. Therefore, receiving the source datamay entail mining data from accounts residing at content server 120, thesource of record. In exemplary embodiments, the mining of an account foruse may happen in a way that results are immediately visible andpropagated through the feature layers as soon as possible. This way, auser is able to read, organize, and compose messages or other electroniccontent on an immediate basis utilizing processing software 138. Fullmining of all content from a source of record (e.g., an e-mail account),however, could take from an hour or two hours to a few days, dependingon the size of the record or associated account. Launching processingsoftware 138 in host server 130 for the first time may trigger aninitial mining of a record or account. For example, an e-mail accountfor which the content resides in content server 120 would be mined byhost server 130 in response to an activation of processing software 138.Another trigger for mining of an account at a source of record may bethe linking of a new account from a source of record to host server 130by processing software 138.

In other embodiments, processing software 138 forwards authenticationinformation to content server 120 to access data at the source ofrecord. Based on the authentication, a link is created between anaccount based in content server 120 and processing software 138.

In other embodiments, in response to any updates to source data incontent server 120, the updated source data is sent by content server120 to host server 130. Thereby, content server 120 is constantly orfrequently receiving updated content.

In step 204, local data is generated that is associated with thereceived source data. The local data may be generated by processingsoftware 138 based on an analysis of the received source data. Forexample, the generated local data may include message skeletonsrepresenting contents of respective electronic messages, metadataassociated with respective electronic messages, and/or extractedattachments or images.

With respect to metadata, the subject of an electronic message,information related to the time that the electronic message was sent orreceived, and/or addresses related to the electronic message may beincluded. The addresses related to the electronic messages may includeaddresses of a sender, recipient(s), and/or any addresses that arecarbon copied (CC) or blind carbon copied (BCC).

A message snippet may be text that is indicative of the contents of thetext included in an electronic message. Alternatively, a message snippetmay be text describing the message content.

Images may be attached or embedded within an electronic message. Theterm “attachments” as used in the present disclosure refers toadditional types of file attachments apart from attachments related toimage files, such as JPEG, TIFF, PNG formats, etc. These additionaltypes of file attachment formats may include Word, PDF, or PPT files.The attachments may also include media files, such as mp3, mp4, oradditional audio/video formats.

As part of step 204, generating the local data may further includegenerating thumbnails of images, thumbnails of first pages ofattachments when the file format is known, GPS to physical addressconversion, snippet creation from message bodies, metadata, etc. Varioussizes of thumbnails may be generated for each image. For example, asdiscussed later, different types of representations of an electronicmessage may require a different size thumbnail. In some embodiments, upto four different sizes of impressions (including thumbnails) may begenerated for each image. Additionally, the known file types for whichthumbnails of first pages are generated include PDF, DOC, XLS, PPT,HTML, TXT files, etc.

In addition to generating thumbnails for attachments, icons may also begenerated for each electronic message containing an attachment. Theicons may indicate basic information about the characteristics of amessage's attachments, such as names, formats, or sizes of the attachedfiles. Icons may specifically be used for unknown types of files or whenthe format of the file does not lend itself to a visual representation.

Additionally, as part of step 204, a conversation history may begenerated for all electronic messages received. Accordingly, a linkagemay be created between the currently received electronic message andprevious message(s). This information may be stored as part of thegenerated local data. Accordingly, related messages (or theirrepresentations) may be rendered illustrating a conversation history. Insome embodiments, certain sources of record may generate and store aconversation history. In such cases, conversation histories do not haveto be generated by the system and are simply stored locally.

In step 206, the generated local data is stored in one or moredatabases. For example, the generated local data may be stored indatabase 140 of host server 130.

In additional embodiments, the generated local data may be indexed. Thegenerated local data and the index may then be stored in database 140 byprocessing software 138. In exemplary embodiments, database 140 may be aSOLR search database that allows for optimal search performance when asearch is conducted. For example, a simple search may be conducted formessages from a particular sender utilizing stored metadata of each ofthe electronic messages.

In accordance with certain embodiments, processing software 138 may beutilized to store the generated local data in database 140.

In step 208, the electronic messages and/or other content are classifiedas being associated with one or more content stacks. This classificationmay be based on content stack rules associated with each of the one ormore content stacks. Each of the content stack rules may entail apredefined classification associated with a type of electronic contentor a trained database model. For example, the predefined classificationsmay include electronic messages or other content associated with atleast one of daily deals, top stories, retailers, social notifications,attachments, and images. Similarly, if a new content stack is created oran old content stack is edited, the electronic content would bereclassified corresponding to the new content stack rules that would begenerated. For example, if a new stack is generated for all messagesfrom a particular sender or set of senders, then an updatedclassification would occur based on the new contact stack rule for allthe electronic messages.

The classification of the electronic messages may be based on the localgenerated data. For example, the classification may be based on metadatathat indicates basic information regarding the electronic messages. Forexample, a whitelisting may be utilized, such as e-mails from certainsenders that are classified as being associated with a particularcontent stack.

The classification may also be based on a trained business modelclassification. For a trained business model classification, the localgenerated data may be utilized in learning algorithms (e.g.,mathematical equations or processes) to optimize predictions and resultsin a trained business model with respect to classification based oncertain features. For example, if, based on metadata, it appears thatall e-mails from any “.net” website are being added to a certain contentstack, the trained business model will be optimized so that any newmessages that are received will be predicted to belong to that contentstack.

In another embodiment, a support vector machine (SVM) or a Gaussiankernel may be utilized as learning algorithms, while Lagrangemultipliers may be used for optimization of the predictions ofclassification.

In accordance with certain embodiments, metadata related to eachclassified electronic message or other content may be stored along withthe electronic message or other content in database 140.

The content stack rules may look at what content servers to feed from,classification, keywords, sender addresses, recipient addresses, etc.,to determine what source data belongs to a specific stack. For example,a photo stack may include images included within the received data fromcontent server 120. Additionally, the content stack rules may be acombination of AND/OR and IF/THEN rules or combinations. An AND/ORoperation may entail a combination of characteristics of senders,recipients, keywords, terms that are not allowed, etc. For example,classification of the content stack may entail a MongoDB Query utilizingmetadata.

An exemplary AND/OR operation may comprise: E-mail from a <sender1>OR<sender2> AND with <keyword> in <subject/body>.

An exemplary IF/THEN operation may comprise: (1) IF an e-mail from<sender> with subject containing <term(s)> THEN place into <stack> andsend me an SMS alert; and/or (2) IF an e-mail from <sender> with<attachment type> and subject containing <term> THEN place into <stack>and add to my calendar.

As explained in further detail below, when a new content stack isgenerated, new corresponding content stack rules are automaticallygenerated for that content stack. Similarly, if an existing contentstack is modified, the corresponding content stack rules wouldautomatically be modified for that content stack.

Processing software 138 may carry out the classification based on thecontent stack rules and commit the classification to database 140.Processing software 138 may also create and modify content stacks andthe corresponding content stack rules.

Referring again to FIG. 2 , in step 210, representations of theelectronic messages or other content are generated. The representationsmay be based on the local data. For example, if an electronic message isnot classified as being associated with any of the content stacks, thenit would simply appear in an inbox and the representations may be basedon metadata and/or a message snippet, indicating a sender, subject,and/or time of receipt. If a thumbnail is generated for the electronicmessage as local data, it may also be included in the representation.

In some embodiments, representations may be dependent on theclassification. For example, for an e-mail that includes an image or anattachment, a representation of a message may be a thumbnail generatedfor the image or the attachment. A representation of a message may alsobe, or may include, word clouds based on the text of the electronicmessage. Word clouds provide a quick visual indication of the contentsof the electronic message. Other alternative representations will beapparent based on the description of the content of the content stacksprovided further below.

In accordance with certain embodiments, multiple representations may begenerated for each of the electronic messages or other electroniccontent. For example, an electronic message may have a firstrepresentation for display in an inbox, a second representation fordisplay in a tile representing a content stack, and/or a thirdrepresentation for display in an opened content stack. Allrepresentations may provide basic visual information about contents ofthe electronic message.

In step 212, a display of the at least one content stack is generated.For example, the at least one content stack may be displayed on agraphic user interface. Each displayed content stack may be operable todisplay some of the representations of the electronic messages and/orother electronic content associated with the content stack based on theclassification. Each content stack may be displayed as a tile or set oftiles. Responsive to movement of a cursor representing a user input overa respective tile, various representations from the representations ofthe electronic content associated with the tile's corresponding contentstack may be displayed. The tile displays one representation associatedwith a content stack at a time. A certain amount of movement of thecursor over the tile corresponds to display of different representationsassociated with the content stack. In some embodiments, based onmovement of a cursor over a particular tile, up to a predeterminednumber (e.g., 3, 5, 6, 10, 12, etc.) of associated representations maybe displayed.

The following is a list of exemplary content stack types, but it is notmeant to be inclusive of all types of content stacks that may exist:

Photo Stack: Parses out all images from within a user's content accountand presents them in a visual manner. The photo stack may also allow fora full gallery experience, quick sharing of images and photos (viae-mail or social networking), and the ability to see the content fromwhich the images were parsed.

Attachment Stack: Parses out all the attachments from within a user'scontent account and presents them in a visual manner. The attachmentstack may show thumbnails of the actual attachment (PDF, officedocuments, presentations, etc.) versus a text list of file names. Withone click, users may download the attachment, view the supporting filetypes online, and quickly find the content the attachment was from.Users may also have the ability to quickly share the attachment viae-mail or social networks.

Daily Deals Stack: Identifies the “daily deal” content and presents itin a “reader” fashion, allowing users to quickly swipe through all oftheir deals in one spot. Users may customize the daily deals stack toadd and remove senders they deem are daily deals (dragging and droppinginto a stack, as explained further below with respect to FIG. 3 ).

Retailer E-mail Stack: Identifies the “retailer” content and presents itin a “reader” fashion, allowing users to quickly swipe through all oftheir retail e-mails in one spot—similar to a Sunday advertisementcircular. Users may customize the retail e-mail stack to add and removesenders that they deem are retailers (e.g., by dragging and droppingcontent into the stack, as explained further below with respect to FIG.3 ).

Social Notification Stack: Identifies the “social network notification”content and presents it in a “reader” fashion, allowing users to quicklyswipe through all of their updates/notifications in one spot.

Group Stack: Identifies messages that are part of a mailing list orgroup. The group stack may allow for customization based on sender,recipients, and subject tokens.

Sender Stack: Shows all the messages, attachments, photos, and metadatarelated to a single sender.

Starred Stack: Shows all the messages that have been starred in thesource of record, i.e., within content server 120 or at the host server130.

In some embodiments, the content stacks may include system stacks anduser-created stacks. The system stacks are predefined stacks that arepresented by default and cannot be deleted by the user. However, theycan be removed from the graphic user interface and sent to the stacklibrary. Examples of system stacks may include photo stacks, attachmentstacks, daily deals stacks, retailer e-mail stacks, starred stacks, etc.The user-created stacks are created by the user, and can be edited anddeleted by the user. Examples of user-created stacks may include senderstacks. For example, the user may group all e-mails from a single senderto a sender stack.

In further embodiments, if host server 130 receives informationindicating selection of a content stack, the content stack is opened todisplay the contents of the content stack. Therefore, representations ofall electronic content associated with the content stack are displayed.

In some embodiments, the information and data received fromsources-of-record may be deleted along with the corresponding localgenerated data, classifications, representations, etc. However, theauthentication information is not deleted, allowing for steps of themethod of operation 200 to be reinitiated. Accordingly, any sources ofrecord will be re-mined.

FIG. 3 illustrates an exemplary user interface with content stacks,consistent with embodiments of the present disclosure. Display 300 maybe rendered on a display screen (not illustrated) of user device 102.For example, display 300 may be a graphical user interface or GUI thatallows user interactions. As will be appreciated by persons of ordinaryskill in the art, all of the elements illustrated in FIG. 3 are notnecessary, but are merely included for exemplary purposes. The exemplaryembodiment of FIG. 3 is shown with representations of electronicmessages. Of course, embodiments of the present disclosure are notlimited to electronic messages, and other forms of electronic contentmay be utilized, including in implementations consistent with FIG. 3 .

Inbox 302 is displayed, which includes representations 304, 306, 308,310, 312, and 314 of respective electronic messages. A selection of anyof the representations 304, 306, 308, 310, 312, and 314 leads to openingof a corresponding message. Each representation 304, 306, 308, 310, 312,and 314 may visually indicate unique information about a correspondingmessage. For example, representation 304 simply indicates the name ofthe sender, the subject of the electronic message, and a snippet of themessage. In comparison, representation 306 is unique in that it containsa generated thumbnail 316 in addition to the name of the sender, thesubject of the electronic message, and a snippet of the message. Thegenerated thumbnail 316 may be a thumbnail of an image or attachmentgenerated as local data. Accordingly, a representation of an electronicmessage allows a user to quickly visually preview contents of theelectronic message.

Inbox 302 also includes a menu bar 320. The menu bar 320 may containvarious icons, including new mail icon 324, aggregated mailbox icon 325,first mailbox icon 326, add account icon 328, contacts icon 330,calendar icon 332, and home icon 334.

Selection of new mail icon 324 allows a user to draft a new electronicmessage that may be sent utilizing a messaging service provided by anaccount residing at any source of record that is associated with hostserver 130. For example, the newly drafted message may be sent utilizingany account residing at content server 120 that is linked to processingsoftware 138 in host server 130.

Aggregated mailbox icon 325 may display representation for messages fromall the accounts linked to host server 130 in inbox 302. Accordingly,all the messages from separate accounts are aggregated. An example ofsuch an account may be represented by first mailbox icon 326. Selectionof first mailbox icon 326 leads to display of representations ofelectronic messages linked to a first e-mail account that may reside atany source of record, such as at content server 120.

Add account icon 328 allows users to link additional accounts, such ase-mail accounts, so that their data may be mined, as discussed above.These additional accounts may reside at any source of record, such ascontent server 120. If a new account is added, a new correspondingmailbox icon for the new account would be added to menu bar 320.Additionally, any new content from the new account would be processedutilizing method 200 (see FIG. 2 ) so that the new electronic contentmay be presented in content stacks.

Selection of contacts icon 330 leads to the display of contacts. Thesecontacts may be imported from any of the accounts at the sources ofrecord. Additionally, in some embodiments, the contact lists fromvarious accounts at the sources of record may be aggregated forproviding contacts in response to selection of contacts icon 330.

Selection of calendar icon 332 may lead to display of a calendar. Thecalendar may be an aggregation of calendars present in all associatedaccounts at the sources of record.

In another embodiment, the calendar may hold entries that are onlystored in the host server 130 and then provided at the user device 102,but not provided to the sources of record, such as content server 120.

In other embodiments, selection of calendar icon 332 may lead to displayof a calendar at a source of record, such as content server 120.

Selection of home icon 334 may allow for access to various functions,including signing out of an account at the host server 130, editingsettings for processing software 138, etc.

Inbox 302 also contains a content stack window 340, where all contentstacks may be displayed. Content stack window 340 includes userinterface elements 342, 344, 346, and 348. User interface elements 342,344, and 346 are pre-existing content stacks, while user interfaceelement 348 represents a user interface operable to prompt creation of anew stack, as explained in further detail with respect to FIG. 4 . Userinterface elements 342, 344, 346, and 348 may display various content,such as message subject and snippet, news headlines, and deals. Searchbox 350 may be utilized to search contents of an inbox or any of thecontent stacks.

Content stacks may be represented using one or more tiles. As discussedabove, a content stack tile may display a preview of representations ofmessages or other electronic content associated with the content stack.As a cursor is moved across the tile of a content stack, variousdifferent representations are illustrated. The representations to bedisplayed initially may be determined temporally or based on someranking means. For example, representations of the latest receivedelectronic messages or representations for messages containing “deals”that are about to expire may be ranked higher, and thus appear first.

As discussed previously, these representations may be generated based onlocal data and may entail pictorial, graphical, and/or textualrepresentations of the electronic messages or other electronic content.

The stack tiles on display 300 can be repositioned by the user via dragand drop mouse interaction. For example, the tiles may be placedaccording to cursor coordinates. Upon the repositioning of one tile, thepositions of the remaining tiles may be automatically adjusted toaccommodate the repositioned tile. For example, if a tile is draggedbetween two adjacent tiles, one of the two adjacent tiles may be shiftedto the next tile position to make space for the dragged tile.

In some embodiments, certain stacks may be permanently fixed to aposition on the tile grid (“pinned”). Pinned stacks may not be affectedby the auto arrangement of the stacks. In some embodiments, the pinnedstacks can be manually repositioned by accessing the edit mode of thestacks. Once a pinned stack is repositioned, it may be pinned to the newposition again. The pinned stacks may be displayed with a pin mark ontop of the tiles.

When a new representation is associated with a content stack, anotification may be provided. For example, if user interface element 346is a photo stack, and a new e-mail is received that contains an image,then a notification may be provided, such as a display of “new” on thetile indicating that the content stack has a newly associatedrepresentation.

In additional embodiments, the content stacks may be ordered to displaybased on which stacks have the newest associated representations.Continuing the example from above, if the photo stack represented byuser interface element 346 is the content stack with the latestassociated representation, then user interface element 346 may be movedto be the first tile presented in content stack window 340.

In exemplary embodiments, content determined to be part of a stack maybe automatically placed in a content stack without entering inbox 302.This skipping of inbox 302 allows users to “clean up their inbox.” Thisenables the content to “bypass” inbox 302 and be visible only within thepertinent stack. For example, if a user chooses to turn on “skip theinbox” for their daily deals stack, the received content type will notclutter inbox 302 and will be visible only in the daily deals stack. Theskipping of inbox 302 may be toggled on and off at any time—content issimply hidden or shown within inbox 302 based on the “skip” setting. Theskipping of inbox 302 may be a stack-specific setting, meaning that itcan be adjusted from stack to stack, versus a global setting, where itis applicable to all of the content stacks.

Selection of a content stack, such as user interfaces 342, 344, and 346,may open the content stack. Contents of a content stack may be presentedin various ways. For example, in a list view, representations ofelectronic messages or other content associated with the content stackmay be presented to the user in a list similar to inbox 302. The listview may also provide statistics on the content in the stack, such asthe number of representations of electronic messages or other contentfrom each source.

In a tile view of a content stack, representations of electronicmessages or other content associated with the content stack may be aseries of tiles that preview the content. For example, the tiles maydisplay representations based on the generated local data discussedabove. In some embodiments, the content of the stack can be previewed byplacing the cursor over the stack tile and clicking or selecting it.

Certain stacks may also allow a user to view content that is extractedfrom the electronic messages or other content in a gallery view. Forexample, photo stacks allow users to see extracted images and attachmentstacks allow users to see extracted attachments that were extracted fromelectronic messages or other content when generating local data. Thisallows a user to view pertinent information directly without having togo through the message or electronic content to which it was attached.When viewing representations of electronic messages or other contentwithin the photo or attachment stack, a user may be able to navigateback to an electronic message or other content that included the photoor attachment.

Processing software 138 may be preprogrammed with a number of stacks(i.e., the system stacks), such as retailers, deals, socialnotifications, news, attachments, photos, starred, etc. These stacks maybe rendered in whole or in part based on the local data. For example,photo and attachment stacks may be rendered from stored local data thatseparates the photos and the attachments from the messages or otherelectronic content in which they were included.

The user may delete a user-created stack from display 300, e.g., byright clicking the stack and selecting “delete.” A dialog window may begenerated and displayed on top of inbox 302, requesting the user toconfirm that he/she wants to delete the stack. The dialog window mayalso provide the option to delete all messages in the stack. Onceconfirmed, the stack, and optionally the messages, may be deleted. Theuser is not allowed to delete a system stack, but alternatively, he/shemay choose to hide the stack from display 300. A dialog may be generatedand displayed on top of inbox 302, requesting the user to confirm thathe/she wants to hide the stack.

In embodiments, generation of local data, classification, andassociation of electronic content conducted in host server 130 may notbe visible at a source of record, such as content server 120. However,any actions related to electronic content or representations thereof maybe reflected back in the source of record (content server 120),including marking electronic content as read/unread, deleted, or movedto a different folder. Accordingly, if a user opens a mail interface foran account from content server 120, there will be no indication ofanything related to a content stack. However, if a message or otherelectronic content is deleted utilizing hosting software 136, themessage or content would also be deleted in content server 120. Forexample, deleting a message from a Gmail account would appear deleted ifthe user went to Google™ gmail.com and viewed the account.

In certain embodiments, processing software 138 may cache received data.For example, processing software 138 may maintain a cache of receiveddata for “X” number of days so that it does not have to go back to thesource of record for content. In such embodiments, when an electronicmessage is requested based on a selection of the message'srepresentation, if the message is cached, it is easily accessible.However, if an electronic message is not cached, then host server 130 isforced to open a connection to the source of record, i.e., contentserver 120, and fetch the electronic message.

FIG. 4 is a flow chart of an exemplary method 400 for generating acontent stack or for modifying an existing content stack, consistentwith embodiments of the present disclosure.

In step 402, a display of an inbox is generated that includesrepresentations of electronic messages or other electronic content. Forexample, FIG. 3 displays an inbox 302 that includes representations 304,306, 308, 310, 312, and 314 of electronic messages.

In step 404, data is received from a user device indicating selection ofa representation of one of the electronic messages or other content frominbox 302, and dragging of the first representation of one of theelectronic messages or other content to a user interface element. Forexample, data is received from a user device 102, indicating that a userhas selected one of the representations 304, 306, 308, 310, 312, and 314of electronic messages and dragged it to a user interface element, suchas user interface elements 342, 344, 346, and 348, which are all presentwithin content stack window 340.

In step 406, the generated local data is stored in one or moredatabases. For example, generated local data is stored in database 128.

In step 408, it is determined whether the user interface elementrepresents an existing content stack. For example, user interfaceelements 342, 344, and 346 are pre-existing content stacks, while userinterface element 348 represents a user interface element operable toprompt creation of a new stack.

If it is determined that the user interface element represents anexisting content stack, then in step 410, the existing content stackrule is modified. All of the content stacks have corresponding contentstack rules. For example, each of user interface elements 342, 344, and346 is a pre-existing content stack. Therefore, the dragging ofrepresentation 306 of an electronic message to user interface element342 representing an existing content stack triggers a modification ofthe content stack and, therefore, the corresponding stack rule.

For the modification, logic may be derived from properties ofrepresentation 306 and/or the electronic message or other content itrepresents. For example, if the content stack represented by userinterface element 342 is based on a content stack rule that all e-mailsfrom a sender “John Doe” are included, then the dragging ofrepresentation 306 may lead to a suggestion to modify the rule to state:IF from <John Doe> OR<M.AL> THEN add to Stack 1 (user interface element342), where M.AL is the sender of the electronic message for whichrepresentation 306 is provided.

A user interaction with display 300, such as dragging and dropping arepresentation of an electronic message onto a content stack, may bedetected. For example, the cursor coordinates may be compared with thecoordinates of the content stacks to determine which content stack themessage is dragged to. The dragging of a representation to an existingcontent stack may trigger an operation to be conducted by processingsoftware 138 for modification of content stack rules. The actual rulesmay be based on a suggestion by processing software 138 based on ananalysis of previous features of the content stack, an analysis offeatures of an electronic message whose representation is dragged,metadata associated with the electronic message, or a manual entry by auser.

Referring again to FIG. 4 , if it is determined that the user interfaceelement does not represent an existing content stack, then in step 412,a new content stack is created with corresponding content stack rules.For example, it may be detected that the user interface element isdragged onto an empty content stack on the user interface. An emptycontent stack may be displayed on the user interface as a placeholderstack and represented by a similar square tile.

Based on the dragging of a representation of a message to a new contentstack tile, a user may then be prompted to specify a set of rules, suchas the features of the message corresponding to the draggedrepresentation, that should be used to classify related messages toadditional representations to the stack. For example, representation 306is dragged to user interface element 348, triggering an operation tocreate a new content stack along with corresponding content stack rules.

Here, the dragging of a representation to the new content stack tiletriggers an operation to be conducted by processing software 138 forcreation of a new content stack and corresponding content stack rules,based on an analysis of features of the electronic message whoserepresentation is dragged, metadata associated with an electronicmessage, or a manual entry by a user.

Various customized dialogs may be generated during the process ofgenerating a new contact stack or modifying an existing content stack.In some embodiments, if the user drags one or more representations ofelectronic messages (e.g., 304, 306, 308, 310, 312, and 314) to an emptystack or an existing stack on display 300, local data related to the oneor more messages may be analyzed to extract representativecharacteristics of the messages. For example, if a single message isdragged into a stack, its sender and/or recipient information may beextracted. If multiple messages are dragged into the stack, the data maybe analyzed to determine whether the messages share a common senderand/or recipient. If not, information of a group of senders and/orrecipients may be extracted. A group recipient, such as an e-mail alias,may also be detected. Additionally, keywords may be extracted from themessages.

The customized dialogs or user interfaces may be generated,incorporating the extracted information. For example, a dialog may posea question to a user such as “Create a stack for all messages from JohnSmith?” or “Create a stack for all messages from John Smith and SusanSmith?” The dialog may include option buttons for the user to select inresponse to the question, such as “Okay,” “Cancel,” and “Customize.”Alternatively, the dialog may provide options between creating the stackfor the group detected and creating the stack for a singlesender/recipient, and the user is allowed to click on one of theoptions. Alternatively, if the messages are dragged to an existingstack, the dialog may show a message such as “You're about to add allmessages from David Louie.” The dialog may further include a text inputbox for the user to input/edit the stack name. In some embodiments, adefault name may be displayed, such as “The Smith family,” which can beedited by the user. FIGS. 5A-5C illustrate such exemplary userinterfaces or dialogs.

In some embodiments, if the user selects “Customize,” another customizeddialog may be generated to let the user further customize the stack. Forexample, FIG. 5D illustrates an exemplary dialog allowing the user tocustomize the stack. The dialog may automatically incorporate theextracted sender or recipient information. The user may also be allowedto add additional sender names and additional recipient names. Thedialog may also provide keywords that are contained in the messages. Insome embodiments, certain keywords may be detected from the messages andsuggested to the user. The user may click on the suggested keywords toadd them to the list. Messages may be filtered by the selected keywords.

In some embodiments, a separate dialog may be generated to let the userchoose whether the messages classified into the new stack should “skipinbox.” For example, the dialog may include a “skip inbox” toggle. Ifthe user selects ON, these messages are going to skip the inbox and godirectly to the new stack. FIG. 5E illustrates an exemplary “skip inbox”dialog. Alternatively, the “skip inbox” toggle may be included in thedialog shown in FIG. 5D.

The dialogs of FIGS. 5A-5E may be moved around on top of display 300,maximized, or minimized.

FIG. 6 illustrates an exemplary display of an attachment content stack,consistent with embodiments of the present disclosure.

Attachment content stack 600 displays user interface elements 602, 604,606, 608, and 610 representing attachments. Instead of one singularrepresentation for each electronic message, thumbnails may be createdfor each attachment in an electronic message. Accordingly, if multipleattachments are included in an electronic message, multiplerepresentations corresponding to each of the electronic messages may becreated. For example, attachments corresponding to user interfaceelements 602, 604, and 606 may all be included as attachments in onemessage. Accordingly, all attachments may be quickly previewed in theattachment content stack 600. By selecting any of the user interfaceelements corresponding to an attachment, a user may have the ability toview details related to the corresponding attachment, download thecorresponding attachment, open the corresponding attachment, or open theelectronic message containing the corresponding attachment. For example,user interface elements 602, 604, and 608 may be thumbnails generatedfor each attachment, but user interface elements 606 and 610 may displayicons indicating one or more of a format, name, size, type, etc., of anattachment.

In further exemplary embodiments, thumbnails may be generated for eachpage of an attached file. Accordingly, within attachment content stack600, responsive to movement of a cursor over a user interface elementthat is displaying a thumbnail, multiple pages may be previewed.

In other embodiments, the concepts of attachment content stack 600 maybe applied to other types of content stacks, such as the photo stack. Aselection of a displayed representation may lead to the display of menuoptions that allow a user to view, download, or share the extractedattachments or images. Alternatively, the user may be able to view,download, or share the electronic message from which the correspondingattachments or images were extracted. The menu options may includeadditional functions. These functions may be executed based oninstructions stored in memory 134 of host server 130.

FIG. 7 illustrates an exemplary computer system 700, consistent withembodiments of the present disclosure. The exemplary computer system 700of FIG. 7 may be used to implement the components of FIG. 1 , includinguser device 102, content server 120, and host server 130.

As shown in FIG. 7 , computer system 700 includes one or moreprocessors, such as processor 702. Processor 702 is connected to acommunications infrastructure 706, such as a bus or network (e.g.,communications network 110 of FIG. 1 ).

Computer system 700 also includes a main memory 708, for example, arandom access memory (RAM), and may include a secondary memory 710.Secondary memory 710 may include, for example, a hard disk drive 712and/or a removable storage drive 714, representing a magnetic tapedrive, an optical disk drive, CD/DVD drive, etc. Removable storage drive714 reads from and/or writes to a removable storage unit 718 in awell-known manner. Removable storage unit 718 represents a magnetictape, optical disk, or other non-transitory computer-readable storagemedium that is read by and written to by removable storage drive 714. Aswill be appreciated, the removable storage unit 718 can represent anon-transitory computer-readable medium having stored therein computerprograms, sets of instructions, code, or data to be executed byprocessor 702.

In alternate embodiments, secondary memory 710 may include other meansfor allowing computer programs or sets of instructions to be loaded intocomputer system 700. Such means may include, for example, a removablestorage unit 722 and an interface 720. An example of such means mayinclude a removable memory chip (e.g., EPROM, RAM, ROM, DRAM, EEPROM,flash memory devices, or other volatile or nonvolatile memory devices)and an associated socket, or other removable storage units 722 andinterfaces 720, which allow instructions and data to be transferred fromremovable storage unit 722 to computer system 700.

Computer system 700 may also include one or more communicationsinterfaces, such as communications interface 724. Communicationsinterface 724 allows computer software, instructions, and/or data to betransferred between computer system 700 and external devices. Examplesof communications interface 724 may include a modem, a network interface(e.g., an Ethernet card), a communications port, a PCMCIA slot and card,a wireless transmitter or card, etc. Computer software, instructions,and/or data may be transferred via communications interface 724 in theform of signals (not shown), which may be electronic, electromagnetic,optical, or other signals capable of being received by communicationsinterface 724. These signals 726 are provided to communicationsinterface 724 via a communications path (i.e., channel 728). Channel 728carries signals 726 and may be implemented using wire or cable, fiberoptics, an RF link, wireless transmissions, and other communicationschannels. In another embodiment, signals 726 comprise data packets sentto processor 702. Information representing processed packets can also besent in the form of signals 726 from processor 702 through channel 728.

The terms “storage device” and “storage medium” may refer to particulardevices including, but not limited to, main memory 708, secondary memory710, a hard disk installed in hard disk drive 712, and removable storageunits 718 and 722. Further, the term “non-transitory computer-readablemedium” may refer to devices including, but not limited to, a hard diskinstalled in hard disk drive 712, any combination of main memory 708 andsecondary memory 710, and removable storage units 718 and 722, whichrespectively provide computer programs and/or sets of instructions toprocessor 702 of computer system 700. Such computer programs and sets ofinstructions can be stored within one or more non-transitorycomputer-readable media. Additionally, or alternatively, computerprograms and sets of instructions may also be received viacommunications interface 724 and stored on the one or morecomputer-readable media.

Such computer programs and instructions, when executed by processor 702,enable processor 702 to perform one or more of the computer-implementedmethods described herein. Examples of program instructions include, forexample, machine code, such as code produced by a compiler, and filescontaining a high-level code that can be executed by processor 702 usingan interpreter.

The computer-implemented methods described herein can also beimplemented on a single processor of a computer system, such asprocessor 702 of system 700. In another embodiment, computer-implementedmethods consistent with embodiments of the present disclosure may beimplemented using one or more processors within a single computersystem, and additionally or alternatively, these computer-implementedmethods may be implemented on one or more processors within separatecomputer systems linked via a network.

Various embodiments have been described herein with reference to theaccompanying drawings. It will, however, be evident that variousmodifications and changes may be made thereto, and additionalembodiments may be implemented, without departing from the scope of thepresent disclosure or the subject matter as set forth in the claims thatfollow.

Further, other embodiments will be apparent to those skilled in the artfrom consideration of the specification and practice of one or moreembodiments disclosed herein. It is intended, therefore, that thisdisclosure and the embodiments herein be considered as exemplary only,with a true scope and spirit of the present disclosure being indicatedby the following listing of exemplary claims.

1-33. (canceled)
 34. A computer-implemented method for generatingcontent groups for electronic content, the method comprising:generating, on a user interface, an inbox area including a plurality ofelectronic message representations; receiving data from the userinterface indicating selection of a first message representation of theplurality of electronic message representations and movement of thefirst message representation from a first location of the user interfaceto a second location of the user interface; determining whether thesecond location of the first message representation is occupied by afirst content group element; based on determining that the secondlocation is occupied by the first content group element, extractingcontent rules for the first content group element and representativecharacteristics for the first message representation; and generating asecond content group element comprising the first content group elementand the first message representation, the second content group elementincluding updated content rules based on the extracted content rules forthe first content group element and the representative characteristicsfor the first message representation.
 35. The computer-implementedmethod of claim 34, for providing content groups for electronic content,the method further comprising: detecting, with at least one processor, auser interaction with the user interface by comparing cursor coordinateswith coordinates of an electronic message, an inbox area, or a contentstack.
 36. The computer-implemented method of claim 35, for providingcontent groups for electronic content, the method further comprising:determining if the detected user interaction corresponds to (i) adragging of at least one electronic message from the inbox area to anempty content stack in the content stack area or (ii) a dragging of atleast one electronic message from the inbox area to an existing contentgroup in a content group area.
 37. The computer-implemented method ofclaim 34, for providing content groups for electronic content, themethod further comprising: generating at least one customized pop-updialog based on the updated content rules.
 38. The computer-implementedmethod of claim 37, wherein the at least one customized pop-up dialogprovides an option to associate additional electronic messages, thatsatisfy the updated content rules, in a new pinned content group. 39.The computer-implemented method of claim 34, for providing contentgroups for electronic content, the method further comprising:determining whether the first message representation includes anattachment; and generating a thumbnail image or icon representation ofthe attachment upon determining that the first message representationincludes an attachment.
 40. The computer-implemented method of claim 34,wherein the updated content rules includes information that identifies asender or a recipient for filtering additional electronic messages. 41.A system for providing content groups for electronic content, the systemcomprising: at least one processor; and a storage device that stores aset of instructions, the set of instructions being executable by the atleast one processor to cause the at least one processor to implementsteps for: generating, on a user interface, an inbox area including aplurality of electronic message representations; receiving data from theuser interface indicating selection of a first message representation ofthe plurality of electronic message representations and movement of thefirst message representation from a first location of the user interfaceto a second location of the user interface; determining whether thesecond location of the first message representation is occupied by afirst content group element; based on determining that the secondlocation is occupied by the first content group element, extractingcontent rules for the first content group element and representativecharacteristics for the first message representation; and generating asecond content group element comprising the first content group elementand the first message representation, the second content group elementincluding updated content rules based on the extracted content rules forthe first content group element and the representative characteristicsfor the first message representation.
 42. The system of claim 41, forproviding content groups for electronic content, the processor beingfurther implemented to perform the step of: detecting, with at least oneprocessor, a user interaction with the user interface by comparingcursor coordinates with coordinates of an electronic message, an inboxarea, or a content stack.
 43. The system of claim 42, for providingcontent groups for electronic content, the processor being furtherimplemented to perform the step of: determining if the detected userinteraction corresponds to (i) a dragging of at least one electronicmessage from the inbox area to an empty content stack in the contentstack area or (ii) a dragging of at least one electronic message fromthe inbox area to an existing content group in a content group area. 44.The system of claim 41, for providing content groups for electroniccontent, the processor being further implemented to perform the step of:generating at least one customized pop-up dialog based on the updatedcontent rules.
 45. The system of claim 44, wherein the at least onecustomized pop-up dialog provides an option to associate additionalelectronic messages, that satisfy the updated content rules, in a newpinned content group.
 46. The system of claim 41, for providing contentgroups for electronic content, the method further comprising:determining whether the first message representation includes anattachment; and generating a thumbnail image or icon representation ofthe attachment upon determining that the first message representationincludes an attachment.
 47. The system of claim 41, wherein the updatedcontent rules includes information that identifies a sender or arecipient for filtering additional electronic messages.
 48. Anon-transitory computer-readable medium storing a set of instructionsfor providing content groups for electronic content, that, when executedby at least one processor, causes the at least one processor toimplement steps for: generating, on a user interface, an inbox areaincluding a plurality of electronic message representations; receivingdata from the user interface indicating selection of a first messagerepresentation of the plurality of electronic message representationsand movement of the first message representation from a first locationof the user interface to a second location of the user interface;determining whether the second location of the first messagerepresentation is occupied by a first content group element; based ondetermining that the second location is occupied by the first contentgroup element, extracting content rules for the first content groupelement and representative characteristics for the first messagerepresentation; and generating a second content group element comprisingthe first content group element and the first message representation,the second content group element including updated content rules basedon the extracted content rules for the first content group element andthe representative characteristics for the first message representation.49. The non-transitory computer-readable medium of claim 48, forproviding content groups for electronic content, the non-transitorycomputer-readable medium further storing instructions for: detecting,with at least one processor, a user interaction with the user interfaceby comparing cursor coordinates with coordinates of an electronicmessage, an inbox area, or a content stack.
 50. The non-transitorycomputer-readable medium of claim 49, for providing content groups forelectronic content, the non-transitory computer-readable medium furtherstoring instructions for: determining if the detected user interactioncorresponds to (i) a dragging of at least one electronic message fromthe inbox area to an empty content stack in the content stack area or(ii) a dragging of at least one electronic message from the inbox areato an existing content group in a content group area.
 51. Thenon-transitory computer-readable medium of claim 48, for providingcontent groups for electronic content, the non-transitorycomputer-readable medium further storing instructions for: generating atleast one customized pop-up dialog based on the updated content rules.52. The non-transitory computer-readable medium of claim 51, wherein theat least one customized pop-up dialog provides an option to associateadditional electronic messages, that satisfy the updated content rules,in a new pinned content group.
 53. The non-transitory computer-readablemedium of claim 48, for providing content groups for electronic content,the non-transitory computer-readable medium further comprising:determining whether the first message representation includes anattachment; and generating a thumbnail image or icon representation ofthe attachment upon determining that the first message representationincludes an attachment.